Ubuntu出现内存错误,但MemTest86 +却没有 您所在的位置:网站首页 dimm 错误 Ubuntu出现内存错误,但MemTest86 +却没有

Ubuntu出现内存错误,但MemTest86 +却没有

2023-12-06 03:40| 来源: 网络整理| 查看: 265

删除的答案已关闭

关于此问答的答案已删除:

您是否已经尝试过重新安装ubuntu,因为这听起来像是操作系统级别的内存管理故障

我的答案是相似的,因为它涉及非常低级的内存管理。内核级别的KASLR。

KASLR做什么

KASLR代表ķ ernel 甲 ddress 小号步伐大号 ayout ř andomization。我从没听过它大声说过的声音,但是在我看来,我说它是“ Casler”。想想机器中友好的幽灵。KASLR是一种安全措施,用于随机分配内核模块所驻留的内存位置。从理论上讲,当您不能始终依靠相同的代码始终位于相同的内存位置时,内核就很难被破解。

可以将KASLR操作视为与存储器测试器相反的操作,该存储器测试器重复读取和写入相同的存储器位置,并且预期不会发生任何变化。这些对立面,吸引了我(注意成语),对KASRR和内存错误进行了Google搜索。似乎无关的一个人可能值得在github上链接到此问答的消息。原因是他们认为它们是唯一受移位内存地址影响的地址(如果我正确读取了它们的线程)。我最不希望链接到RedHat的前三则热门歌曲是因为他们的网站是要在Google搜索机器人上获得的部分帖子,然后它们使您付费阅读。

当KASLR将内核“材料”加载到内存映射的中间(这是不应该这样做的)时,存在一些已知的问题。不幸的是,我记不起上周发现的链接,该链接包含在今晚的答案中。该链接有一个补丁/解决方法,用于指示KASLR不使用特定的内存位置。

在确认了KASLR和内存位置的已知问题之后,我在问题下进行了评论,以使其禁用KASLR并重新运行内存测试。回复说它似乎成功了,所以我要发布这个答案。

如何禁用KASLR

尽管我已经使用grub内核命令行选项“ kaslr”数年了,但从至少4.12版本开始,它就成为了内核的默认选项。要避免加载KASLR,请使用edit /etc/default/grub并更改以下行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nokaslr"

除了“安静”和“启动”之外,您可能还有其他选择。重要的步骤是添加“ nokaslr”,并保留其他选项。

然后保存文件并运行:

sudo update-grub

当然,禁用KASLR的另一种方法是在未自动包含KASLR的情况下,仅在Ubuntu 16.04.1下使用较旧的内核(如4.4.0)。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有